// ik vindt Log4j een beetje te ingewikkeld..
// Dus maak ik eigen dinges
package zooi;
import eskuel.CMI_SQL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class MyLogger {
  //DEBUG, INFO, WARN, ERROR, FATAL
  public static String info = "INFO";
  public static String debug = "DEBUG";
  public static String warn = "WARN";
  public static String error = "ERROR";
  public static String fatal = "FATAL";
  String deClass;
  public MyLogger(String deClass){
    //Constructor
    this.deClass = deClass;
  }

  public static void log(String deClass, String soort, String wat, String bericht){
    CMI_SQL sql = new CMI_SQL(zooi.Settings.dbhost,zooi.Settings.dbname,zooi.Settings.dbpass);
    Calendar kalender = Calendar.getInstance();
    String deDatum = calendarToString(kalender, "yyyy-MM-dd");
    String deTijd = calendarToString(kalender,"HH:mm:ss");
    String extraInfo = ""; //+System.getProperties();
    String sqlQuery = "INSERT INTO `"+zooi.Settings.dblogtable+"` (`Log_id`, `ClassNaam`,`Soort`,`Wat`,`Bericht`,`Datum`,`Tijd`,`ExtraInfo`) VALUES (null,'"+deClass+"','"+soort+"','"+wat+"','"+bericht+"','"+deDatum+"','"+deTijd+"','"+extraInfo+"')";
    sql.insertQuery(sqlQuery);
    if (zooi.Settings.logprint){
      System.out.println("'"+deClass+"','"+wat+"','"+bericht+"','"+deDatum+"','"+deTijd+"','"+extraInfo+"'");
    }
  }
  public void log(String soort, String wat, String bericht){
    CMI_SQL sql = new CMI_SQL(zooi.Settings.dbhost,zooi.Settings.dbname,zooi.Settings.dbpass);
    Calendar kalender = Calendar.getInstance();
    String deDatum = calendarToString(kalender, "yyyy-MM-dd");
    String deTijd = calendarToString(kalender,"HH:mm:ss");
    String extraInfo = ""; //+System.getProperties();
    String sqlQuery = "INSERT INTO `"+zooi.Settings.dblogtable+"` (`Log_id`, `ClassNaam`,`Soort`,`Wat`,`Bericht`,`Datum`,`Tijd`,`ExtraInfo`) VALUES (null,'"+deClass+"','"+soort+"','"+wat+"','"+bericht+"','"+deDatum+"','"+deTijd+"','"+extraInfo+"')";
    sql.insertQuery(sqlQuery);
    if (zooi.Settings.logprint){
      System.out.println("'"+deClass+"','"+wat+"','"+bericht+"','"+deDatum+"','"+deTijd+"','"+extraInfo+"'");
    }
  }
  //Bron: http://balusc.blogspot.com/2006/06/datum-en-tijd.html
  // Converteer Calendar naar String
    private static String calendarToString(Calendar calendar, String dateFormat){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
        return simpleDateFormat.format(calendar.getTime());
    }

    public static void main(String[] args){
      //De Logger uitproberen
    zooi.MyLogger.log("pinserver.MyLogger", zooi.MyLogger.info,"Logger Testen", "Tis gelukt hoor :-) !");
      /*
      //Loggen op manier 1:
      //Voor als je ff 1 regeltje in de db wilt zetten
      pinserver.MyLogger.log("pinserver.Main",pinserver.MyLogger.info,"Main (Constructor)","Bankserver wordt gestart");
      //Loggen op manier 2:
      //Voor als je in deze class/method meerdere log in de db wilt zetten.
      //Voordeel van dit: je hoeft maar 1x je class door te geven
      MyLogger logger = new MyLogger("pinserver.Main");
      logger.log(MyLogger.info,"Main (Constructor)","Bankserver wordt gestart");
       */
    }
}
